package IOStream.CharSet;

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

/**
 * ClassName:CharSet004
 * Package:IOStream.CharSet
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/2/28-22:48
 * @Version:v1.0
 */
public class CharSet004 {
    /**
     * Java中编码的方法
     * public byte[] getBytes()  使用默认方式进行编码
     * public byte[] getBytes(String charsetName) 使用指定方式进行编码
     * Java中的解码的方法
     * String(byte[] bytes)  使用默认方式进行解码
     * String(byte[] bytes ,String charsetName) 使用指定方式进行解码*/
    public static void main(String[] args) throws UnsupportedEncodingException {
        //1.编码
        String str ="ai你哟";
        byte[] bytes1 = str.getBytes();//默认UTF-8  1个英文一个字节,一个汉字3个字节
        System.out.println(Arrays.toString(bytes1));

        byte[] gbks = str.getBytes("GBK");//一个英文一个字节,一个汉字两个字节
        System.out.println(Arrays.toString(gbks));

        //2.解码
        String str2 = new String(bytes1);
        System.out.println(str2);

        String str3 = new String(bytes1,"GBK");
        System.out.println(str3);//编码和解码方式不一样产生乱码

        String str4 = new String(gbks,"GBK");
        System.out.println(str4);




    }
}
